package com.hsurosy.hsuchain.nft.api.order.request;

import com.hsurosy.hsuchain.nft.api.order.constant.TradeOrderEvent;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

/**
 * 基础订单请求类
 *
 * @Author Hsu琛君珩
 * @Date 2024-10-04 17:02
 * @Description
 * @Version: v1.0.0
 */
@Data
public abstract class BaseOrderRequest extends BaseRequest {

    /**
     * 操作幂等号
     */
    @NotNull(message = "identifier 不能为空")
    private String identifier;

    /**
     * 获取订单事件
     *
     * @return 订单事件类型 {@link TradeOrderEvent}
     */
    public abstract TradeOrderEvent getOrderEvent();
}
